import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.List;

public class RedisDemoSpring {

    public static void test1(Jedis jedis) {
        System.out.println("mget 和 mset 的使用");
        jedis.flushAll();

        jedis.mset("key1","111","key2","222","key3","333");
        List<String> list = jedis.mget("key1","key2","key100","key3");
        System.out.println("mget 的结果：" + list);
    }

    public static void test2(Jedis jedis) {
        System.out.println("getrange 和 setrange 的使用");
        jedis.flushAll();

        jedis.set("key","abcdefghijk");
        String result = jedis.getrange("key",2,5);
        System.out.println("getrange 的结果：" + result);

        jedis.setrange("key",2,"xyz");
        result = jedis.get("key");
        System.out.println("setrange 的结果：" + result);
    }

    public static void test3(Jedis jedis) {
        System.out.println("append 的使用");
        jedis.flushAll();

        jedis.set("key","abcdef");
        jedis.append("key","ghij");

        String result = jedis.get("key");
        System.out.println("append 的结果：" + result);
    }

    public static void test4(Jedis jedis) {
        System.out.println("incr 和 decr 的使用");
        jedis.flushAll();

        jedis.set("key","100");

        long result = jedis.incr("key");
        System.out.println("incr 的结果：" + result);

        String value = jedis.get("key");
        System.out.println("incr 后的值：" + value);

        result = jedis.decr("key");
        System.out.println("decr 的结果：" + result);

        value = jedis.get("key");
        System.out.println("decr 后的值：" + value);
    }

    public static void main(String[] args) {
        JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");
        try(Jedis jedis = jedisPool.getResource()){
            test4(jedis);
        }
    }
}
